package com.lwj.degest;

import java.util.HashMap;
/**
 DigestEntity对象：
 1.过期时间 ：当前时间+存活时间
 2.主体：加密的数据
 3.签名：DigestEntity对象重写toString方法，获取json数据（包括过期数据，加密数据），根据json数据通过sha256加密算法获取签名

 加密：DigestEntity.setExp + DigestEntity.setEntity -> sha256（DigestEntity.toString）-> 签名 -> DigestEntity.setSign-> DigestEntity.toJson ->  str -> Base64Utils.加密 -> 密文
 解密：密文 -> Base64Utils.解密 -> str -> json转DigestEntity -> sha256（DigestEntity.toString） -> 校验签名 -> 校验时间

 * */
public class Test {
    public static void main(String[] args) throws Exception {
        DigestSignature digestSignature = new DigestSignature("盐");
        UserInfo lwj = new UserInfo("lwj", "123", 19);
        String s = digestSignature.encode(lwj);
        System.out.println(s);
        UserInfo user = digestSignature.decode(s, UserInfo.class);
        System.out.println(user);
    }
}
